#ifndef __ESP8266_H
#define __ESP8266_H

#include "./SYSTEM/usart/usart.h"
#include "./SYSTEM/delay/delay.h"
#include <string.h>
#include <stdio.h>
#include "./BSP/ESP8266/ESP8266_usart.h"

uint8_t ESP8266_send_at_cmd(char *cmd, char *ack, uint32_t timeout);           //发送AT指令
void ESP8266_init(uint32_t baudrate);                                     //ESP8266初始化
uint8_t ESP8266_restore(void);                                                 //ESP8266恢复出厂设置
uint8_t ESP8266_at_test(void);                                                 //AT指令测试
uint8_t ESP8266_set_mode(uint8_t mode);                                         //WIFI模式
uint8_t ESP8266_sw_reset(void);                                                 //软件复位
uint8_t ESP8266_ate_config(uint8_t cfg);                                        //设置回显模式
uint8_t ESP8266_join_ap(char *ssid, char *pwd);                                 //连接AP
uint8_t ESP8266_get_ip(char *buf);                                              //获得ip
uint8_t ESP8266_connect_tcp_server(char *server_ip, char* server_port);         //连接TCP
uint8_t ESP8266_enter_unvarnished(void);                                        //进入透传
void ESP8266_exit_unvarnished(void);                                            //退出透传
uint8_t ESP8266_connect_atkcld(char *id, char *pwd);                            //连接原子云服务器
uint8_t ESP8266_disconnect_atkcld(void);                                        //退出原子云服务器


#define ESP8266_EOK         0   /* 没有错误 */
#define ESP8266_ERROR       1   /* 通用错误 */
#define ESP8266_ETIMEOUT    2   /* 超时错误 */
#define ESP8266_EINVAL      3   /* 参数错误 */

#endif
